package cn.com.nes.site.service.crm.clue;

import cn.com.nes.mybatis.agent.crm.entity.Clue;
import cn.com.nes.site.controller.crm.clue.vo.CluePageVo;
import cn.com.nes.site.entity.vo.crm.GetClueDetailVO;
import cn.com.nes.site.entity.vo.crm.SaveUpdateClueVo;
import cn.com.nes.site.service.crm.clue.bo.ClueBO;
import cn.com.nes.site.service.crm.clue.dto.ClueDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface CrmClueService extends IService<Clue> {

    /**
     * 线索分页列表
     * @param vo
     * @return
     */
    Page<ClueDTO> getCluePage(CluePageVo vo) throws Exception;


    /**
     * 新增/更新线索
     * @param vo
     * @return
     */
    String saveUpdateClue(SaveUpdateClueVo vo) throws Exception;


    /**
     * 线索详情
     * @param vo
     * @return
     */
    Map<String, Object> getClueDetail(GetClueDetailVO vo) throws Exception;


    /**
     * 线索保存
     * @param clueBO
     * @return
     */
    Clue clueSave(ClueBO clueBO) throws Exception;

    /**
     * 保存线索,根据线索所属手机号是否存在判断是否新增
     */
    Clue saveClue(ClueBO clueBO) throws Exception;

}
